#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>

int main(int argc,char const* argv[])
{
    pid_t pid;
    int fd[2]={0};
    char buf[32]="\0";
    if(pipe(fd)==-1)
    {
        perror("pipe err\n");
        return -1;
    }
    pid=fork();
    if(-1==pid)
    {
        perror("fork err\n");
        return -1;
    }
    else if(pid==0)
    {
        while (read(fd[0],buf,32)!=0)
        {
            if(buf[0]=='#')
            break;
            printf("子进程数据为:\n");
            printf("%s\n",buf);
        }
    }
    else
    {
        while (buf[0]!='#')
        {
            printf("请输入父进程的数据:(输入#结束)\n");
            scanf("%s",buf);
            write(fd[1],buf,32);
            usleep(100);
        }
        wait(NULL);
    }

    close(fd[0]);
    close(fd[1]);

    return 0;
}